package com.java.lesson.c;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.Set;

public class arraylist {
    public static void main(String[] args) {
        //创建空集合
        ArrayList<String> list = new ArrayList<>();//泛型定义为String
        //采用默认追加的方式添加元素
        System.out.println(list.add("a"));
        System.out.println(list.add("b"));
        System.out.println(list.add("c"));
        System.out.println(list.add("d"));

        //插入的方式添加元素
//        list.add(10,"a");//插入元素方法索引值不能大于集合中元素个数
//        list.add(4,"b");//表示在集合中最后位置插入元素，与追加相同
        list.add(1, "f");//指定位置插入元素，索引位置之后的元素会自动向后进行移动

        ArrayList<String> newList = new ArrayList<>();//创建新的集合
        newList.add("a");
        newList.add("b");
        newList.add("c");
        newList.add("d");

        //查看集合中的元素
        System.out.println("原集合内部元素：" + list);
        System.out.println("新集合内部元素：" + newList);

        list.addAll(newList); //将新集合全部元素添加到原集合中
        System.out.println("原集合内部元素：" + list);

        //使用多态，父类的引用指向子类对象
        Set<String> set = new HashSet<>();

        //添加元素
        set.add("a");
        set.add("b");
        set.add("c");
        set.add("d");
        set.add("a");
        System.out.println(set);//打印集合
        //[a, b, c, d]
        //HashSet集合对于元素的读写顺序不做保证
        //相同的元素，多次存储，只能保留一个，并且不会报错
        //List集合可以存储重复元素，Set集合不行




    }


}
